home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Developers / SIOD 3.0 / siod timings < prev    next >
Encoding:
Text File  |  1994-10-01  |  3.8 KB  |  107 lines  |  [TEXT/ttxt]

  1. Timings with SIOD version 3.0, Run by GJC@MITECH.COM
  2.  
  3. You can run the benchmark to determine the overhead of interpretation
  4. using this command line:
  5.  
  6. siod -g0 -isiod.scm -h150000 "-e(standard-fib 22)"
  7. siod -g0 -isiod.scm -h150000 "-e(cfib 22)"
  8.  
  9. Divide the standard-fib (interpreted) by the cfib (compiled) times.
  10. Should be about 10 if your machine has reasonable floating point.
  11.  
  12. If your machine is too fast, try fib of 25 or 30.
  13.  
  14. Machine, OS, Compiler           (standard-fib 22) (cfib 22)  Ratio
  15. -------------------------------------------------------------------
  16. DECpc AXP 150, WINDOWS NT, MSC      1.16            0.094     12.3
  17. DEC 3000 Model 500, VMS, DEC C      1.2             0.14       8.6
  18. Solbourne 6E/900, SUNOS, GNU C      2.3             0.38       6.1
  19. INTEL 486-DX2/66, WINDOWS NT, MSC   3.14            0.54       5.8
  20. VAXstation 4000-90, VMS, VAX C      3.9             0.35      11.1
  21. VAXstation 4000-VLC, VMS, VAX C    16.9             1.64      10.3
  22. VAXstation 3200, VMS, VAX C        37.6             3.58      10.5
  23. MAC-SE 30, THINK-C 5.0             94.1            49.60       1.9
  24. VAXstation 2000, VMS, VAX C       101.9             9.68      10.5
  25. ---------------------------------------------------------------------
  26.  
  27. Other interesting benchmarks are
  28.  
  29. siod -g0 -isiod.scm -h150000 "-e(length (loop-test 4 t))"
  30. siod -g0 -isiod.scm -h150000 "-e(length (cloop-test 4 t))"
  31. siod -g0 -isiod.scm -h150000 "-e(loop-test 4 nil))"
  32. siod -g0 -isiod.scm -h150000 "-e(cloop-test 4 nil))"
  33.  
  34. -----------
  35.  
  36. Timings, SIOD v2.7-2.9
  37.  
  38. Make     Model             FIB(5) FIB(10) FIB(15) FIB(20)  20/FIB(20)
  39. DIGITAL DECpc AXP 150                              0.4
  40. DIGITAL DEC 3000 500                               0.4
  41. DIGITAL VAXSTATION-4000/90 0.00   0.01     0.12    1.30
  42. SUN      4/690             0.00   0.00     0.10    1.27
  43. DIGITAL VS-3200(VMS)       0.01   0.10     1.23   13.6
  44.  
  45.  
  46. Here are some timings taken with version 1.3 of SIOD. The new version 1.5
  47. is slightly faster. If you do timings it is interesting to try it
  48. with and without the mark-and-sweep GC, and with various heap sizes.
  49.  
  50. Please report both total and GC times, heap size, and kinds of GC's used
  51. to: GJC@PARADIGM.COM
  52.  
  53. Make     Model             FIB(5) FIB(10) FIB(15) FIB(20)  20/FIB(20)
  54. Sun      4                  0.00   0.02    0.38     4.2     4.76
  55. DIGITAL  8530(VMS)          0.00   0.07    0.78     8.5     2.35
  56. Sun      3/280              0.00   0.10    0.88     8.5     2.35
  57. DIGITAL  VS-3200(VMS)       0.01   0.11    1.28    14.2     1.41
  58. Sun      3/180              0.02   0.15    1.56    17.5     1.14
  59. Encore   Multimax(NS32)     0.02   0.17    1.85    20.5     0.97
  60. DIGITAL  VS-2000            0.02   0.30    3.56    39.7     0.50
  61. Encore   Multimax(NS16)     0.03   0.33    3.63    40.4     0.49
  62. AMIGA    500 LATTICE C      0.00   0.00    5.00    55.0(x)  0.36
  63.  
  64. Unix compilations done with the -O flag. All 68020 machines
  65. with -f68881. Heap size of 120000 used. Timing done with standard-fib
  66. procedure in siod.scm using SIOD Version 1.3 (which is slightly slower
  67. than earlier versions). AMIGA 500 FIB(20) time is extrapolated from
  68. the FIB(15) time.
  69.  
  70. Check to be sure that your standard-fib returns the following:
  71.  
  72.  n  FIB(n)  Cons Work
  73.  5      5      66
  74. 10     55     795
  75. 15    610    8877
  76. 20   6765   98508
  77.  
  78. (Figures above for -n0, no inums)
  79.  
  80. -----------
  81.  
  82. fib in perl:
  83.  
  84. sub fib
  85. {
  86.     local($x) = @_;
  87.     ($x < 2) ? $x : &fib($x-1) + &fib($x-2);
  88. }
  89.  
  90. sub myruntime
  91. {
  92.     local(@t) = times;          #  in seconds
  93.     $t[0] + $t[1];
  94. }
  95.  
  96. $x = (shift || 20);
  97. print "Starting fib($x)\n";
  98. $before = &myruntime;
  99. $y = &fib($x);
  100. $after = &myruntime;
  101. printf("Done. Result $y in %g cpu seconds.\n", $after-$before);
  102.  
  103.                                          fib(20)
  104.                                    SIOD            Perl         Ratio
  105. Solbourne 6E/900, SUNOS, GNU C     0.85            6.7,7.9      7.88
  106.  
  107.